#pragma  once

// 重置所有样式（必用，否则颜色会持续生效）
#define RESET "\033[0m"

// 前景色（文本颜色）
#define BLACK(text) "\033[30m" text RESET
#define RED(text) "\033[31m" text RESET
#define GREEN(text) "\033[32m" text RESET
#define YELLOW(text) "\033[33m" text RESET
#define BLUE(text) "\033[34m" text RESET
#define MAGENTA(text) "\033[35m" text RESET // 品红
#define CYAN(text) "\033[36m" text RESET    // 青色
#define WHITE(text) "\033[37m" text RESET
// 亮色调背景色
#define BG_LIGHT_BLACK(text) "\033[100m" text RESET
#define BG_LIGHT_RED(text) "\033[101m" text RESET
#define BG_LIGHT_GREEN(text) "\033[102m" text RESET
#define BG_LIGHT_YELLOW(text) "\033[103m" text RESET
#define BG_LIGHT_BLUE(text) "\033[104m" text RESET
#define BG_LIGHT_MAGENTA(text) "\033[105m" text RESET
#define BG_LIGHT_CYAN(text) "\033[106m" text RESET
#define BG_LIGHT_WHITE(text) "\033[107m" text RESET
// 文本样式
#define BOLD(text) "\033[1m" text RESET         // 加粗
#define UNDERLINE(text) "\033[4m" text RESET    // 下划线
#define BLINK(text) "\033[5m" text RESET        // 闪烁（部分终端不支持）
#define REVERSE(text) "\033[7m" text RESET      // 反色（前景色与背景色互换）

#define BOLD_WHITE(text) "\033[1;37m" text RESET
#define BOLD_MAGENTA(text) "\033[1;35m" text RESET

#define HIDE_CURSOR "\033[?25l"
#define SHOW_CURSOR "\033[?25h"